package com.sg.dto.biz.app.req;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;


/**
 * @desc AutoBuildSingleTargetObjectiveComReqDto
 * @使用场景
 */
@Data
public class AutoBuildSingleTargetObjectiveComReqDto extends BaseDto implements Serializable {

    /**
     * 归属父级目标分类ID
     */
    @ApiModelProperty("归属父级目标分类ID")
    private String parentTargetCategoryId;

    /**
     * 关联末级目标分类ID
     */
    @NotNull(message = "关联末级目标分类ID不能为空")
    @ApiModelProperty("关联末级目标分类ID")
    private String correlationLastTargetCatId;

    /**
     * 冗余一级目标分类ID
     */
    @NotNull(message = "冗余一级目标分类ID不能为空")
    @ApiModelProperty("冗余一级目标分类ID")
    private String rootTargetCategoryId;

    /**
     * 冗余目标ID
     */
    @NotNull(message = "冗余目标ID不能为空")
    @ApiModelProperty("冗余目标ID")
    private String targetId;

    /**
     * 冗余评价模板ID
     */
    @NotNull(message = "冗余评价模板ID不能为空")
    @ApiModelProperty("冗余评价模板ID")
    private String evaluationTemplateId;

    /**
     * 历史存档的首次批次ID
     */
    @ApiModelProperty("历史存档的首次批次ID")
    private String historicalArchivebatchId;

    /**
     * 撤销存档用的批次ID
     */
    @ApiModelProperty("撤销存档用的批次ID")
    private String undoArchivngbatchId;

    /**
     * 批次ID
     */
    @NotNull(message = "批次ID不能为空")
    @ApiModelProperty("批次ID")
    private String batchCode;

    /**
     * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
     */
    @NotNull(message = "主体生命周期不能为空")
    @ApiModelProperty("主体生命周期")
    private String subjectLifeCycle;

    /**
     * 存档类型 NOT_ARCHIVE:未归档 TOBE_ARCHIVING:想归档 ARCHIVED:已归档
     */
    @ApiModelProperty("用于处理存档的存档类型")
    private String archivngType;


}
   